Interactive image-based communication using image coding

ABSTRACT

Embodiments of a system and method for interactive barcode communication are described. In one embodiment, a mobile device presents a barcode to an information or transaction receptacle associated with the point of entry device. One embodiment provides for a method of transmitting data from an unconnected point of access device using an interactive barcode communication system on a mobile device, where the method comprises accessing a set of data on a point of access device, wherein the point of access device is unconnected from a data network with access to a central system database; dividing the set of data into multiple sections; incorporating the multiple sections into scan images for display during per-user transactions at the point of access device; and displaying the point of access data along with per-user transaction data during an interactive barcode communication transaction.

CROSS-REFERENCE

The present application is a Continuation of U.S. Nonprovisionalapplication Ser. No. 16/685,448, filed Nov. 15, 2019, which is aContinuation of U.S. Nonprovisonal application Ser. No. 14/819,351,filed Aug. 5, 2015 (U.S. Pat. No. 10,482,558); which claims the benefitof (1) U.S. Provisional Application No. 62/194,697, filed Jul. 20, 2015,(2) U.S. Provisional Application No. 62/061,057, filed Oct. 7, 2014, and(3) U.S. Provisional Application No. 62/035,971 filed Aug. 11, 2014;each of which are hereby incorporated by reference in their entireties.

BACKGROUND OF THE INVENTION

Technologies such as cellular (e.g., GSM, CDMA, LTE), Wi-Fi, radiofrequency identification (RFID), and near field communication (NFC) eachallow wireless communication between electronic devices. However, radiofrequency wireless communication technologies each have drawbacks.Coverage area wireless technologies such as cellular or Wi-Fi can sufferin areas of poor signal penetration or without a nearby access point,such as in remote areas, within buildings, or underground. Short-rangewireless technologies such as NFC require hardware that may not besupported by all devices. Additionally, data transactions over radiofrequency networks may be subject to eavesdropping or interception bythird parties.

Therefore, what is desired is a system, method and device for performingwireless data transactions using mobile devices that avoids thedrawbacks inherent in RF wireless technology.

SUMMARY OF THE DESCRIPTION

An interactive image-based communication system is described usingembodiments, techniques, and disclosures where the system comprisesdisplaying a first image code on a mobile device, where the first imagecode comprises first information, capturing a second first image codefrom an information receptacle, where the second barcode comprisessecond information, and decoding the second information from secondbarcode. The system then processes the second information and displays athird image code comprising third information to complete the process.In one embodiment, the interactive image code communication system isimplemented at a train station (e.g., subway station), where thecommunication between devices of the system grants a user access to thetrain system. In one embodiment, the system is implemented at aturnstile device of a train station. In one embodiment, the first,second, and third information comprise different information. In oneembodiment, the first information comprises at least one of a uniqueaccount number of a subscriber, a time-specific code, or a uniquesession key. In yet another embodiment, the second information comprisesa standard acceptance code or a standard rejection code, and afterprocessing the second information, the third information is displayed ifthe second information is a standard acceptance code.

In one embodiment, the third information comprises a standardconfirmation code, and responsive to the third information, a message ofsuccess is displayed on the mobile device or otherwise indicated by themobile device (e.g., by vibration, or sound). In one embodiment, if thesecond information includes the standard rejection code, then instead ofthe third information, a message of failure is displayed on the mobiledevice or otherwise indicated by the mobile device. In anotherembodiment, the information receptacle is coupled to a point of entrydevice, and on displaying the message of success, access across thepoint of entry device is granted. The point of entry device can be anydevice that blocks access to a path until access right across the pointof entry device is granted. In another embodiment, the system can beconfigured to display a targeted message on the mobile device, whereinthe targeted message is related to the location and/or time of the pointof entry device, and may be a targeted advertisement. In anotherembodiment, the targeted message is a notification of insufficientbalance.

In one embodiment, the second information includes a unique turnstileidentification code. In another embodiment, the second informationincludes a unique station identification code. In another embodiment,the second information includes a session key for the interactivebarcode communication session. Further, in one embodiment, the point ofentry device is a turnstile device blocking access to a train stationplatform. In one embodiment, the second and third information areencrypted.

One embodiment provides for a method of using an interactive image-basedcommunication system on a mobile device, the method comprisingdisplaying a first image code on the mobile device, the first image codecomprising first information, capturing a second image code from aninformation receptacle, the second image code comprising secondinformation, decoding the second information from second image code,processing the second information, and after processing the secondinformation, displaying a third image code comprising third informationto the information receptacle, wherein the first, second, and thirdinformation are different.

One embodiment provides for a method of using a barcode communicationsystem on a mobile device to enable self-authentication of a passengeron a commuter mass-transit system via a passenger account, where themethod comprises capturing a first barcode on the mobile device, whereinthe first barcode comprises first information and the mobile deviceincludes a storage medium having second information encoded thereon, thesecond information associated with the passenger account; decoding thefirst information from the first barcode; processing the firstinformation; accessing the second information on the storage medium ofthe mobile device; and exporting the first information and the secondinformation to a central information system to authenticate a commuterpass associated with the passenger account and to pair the passengeraccount with a location associated with the first barcode.

Further embodiments provide for of a system and method for interactivebarcode communication. In one embodiment, a mobile device presents abarcode to an information or transaction receptacle associated with thepoint of entry device. One embodiment provides fora method oftransmitting data from an unconnected point of access device using aninteractive barcode communication system on a mobile device, where themethod comprises accessing a set of data on a point of access device,wherein the point of access device is unconnected from a data networkwith access to a central system database, dividing the set of data intomultiple sections; incorporating the multiple sections into scan imagesfor display during per-user transactions at the point of access device,and displaying the point of access data along with per-user transactiondata during an interactive barcode communication transaction.

Other methods and apparatuses are also described.

BRIEF DESCRIPTION OF THE DRAWINGS

The following description includes discussion of figure havingillustrations given by way of example of implementations of the variousembodiments. The figures should be understood by way of example and notby way of limitation. In the figures of the accompanying drawings, likereferences indicate similar elements.

FIG. 1 is a block diagram of an embodiment of an interactive barcodecommunication system.

FIG. 2 illustrates a technique of applying the interactive barcodecommunication system.

FIG. 3 illustrates, in one embodiment, updating a central paymentdatabase associated with the interactive barcode communication system.

FIG. 4 describes assigning encryption codes for the interactive bar codecommunication system, according to an embodiment.

FIG. 5 illustrates an embodiment of the interactive barcodecommunication system in which funds are added to a user's accountassociated with a wireless device.

FIG. 6 illustrates the process flow during a denial of verification by atransaction receptacle associated, in one embodiment, of the interactivebarcode communication system.

FIG. 7 illustrates an embodiment of the interactive barcodecommunication system in which advertisements and balance notificationsare displayed on a wireless device.

FIG. 8 illustrates an exemplary table of code-time data generated bycentral system.

FIG. 9 illustrates the interaction between a mobile device and atransaction or information receptacle using the interactive barcodecommunication system, according to an embodiment.

FIG. 10 illustrates an additional embodiment in which the interactivecommunication system is implemented using an image code.

FIG. 11 illustrates an embodiment where the wireless device is a smartwatch, as used in the interactive barcode communication system.

FIG. 12 describes an embodiment where the wireless device is a tabletdevice, as used in the interactive barcode communication system.

FIG. 13 illustrates a close up of information receptacle associated witha point of entry device, as used in the interactive barcodecommunication system.

FIG. 14 illustrates an information receptacle as a slot that can beembedded into the turnstile device of integrating the interactivebarcode communication system.

FIG. 15 illustrates a close up, of an embodiment, of an interactivebarcode communication system integrated with a turnstile device as aslot with an information receptacle with a traditional ticket scanningmechanism.

FIG. 16 illustrates an embodiment of a point of sale device of theinteractive barcode communication system.

FIG. 17 illustrates another embodiment of a point of sale device of theinteractive barcode communication system.

FIG. 18 illustrates yet another embodiment of a point of sale device ofthe interactive barcode communication system.

FIG. 19 illustrates an embodiment of the interactive barcodecommunication system in which funds are added to a user's account usinga point of sale device.

FIG. 20 illustrates the process flow during a denial of verification bya payment receptacle associated with point of sale device, according toan embodiment.

FIG. 21 is a block diagram illustrating a data processing system such asa computing system that may be used with an embodiment.

FIG. 22 is a block diagram an embodiment of a passengerself-authentication system.

FIG. 23 is a block diagram of a passenger self-authentication system inuse, according to an embodiment.

FIG. 24 illustrates an exemplary flow diagram of passengerself-authentication of periodic passes.

FIG. 25 illustrates an exemplary flow diagram of passengerself-authentication of single-ride tickets.

FIG. 26 illustrates an exemplary flow diagram of a conductor ticketverification process using a conductor application.

FIG. 27 illustrates an exemplary flow diagram of a process to enable amid-journey passenger seat change.

FIG. 28 illustrates an exemplary flow diagram of passengerself-authentication of standee passengers.

FIG. 29 illustrates an exemplary flow diagram of a process to enablepassenger purchase of a periodic pass using an image code system.

FIG. 30 is an exemplary illustration of a conductor seat application foruse with the passenger self-authentication system.

FIG. 31 is an additional exemplary illustration of a conductor seatapplication for use with the passenger self-authentication system.

FIG. 32 is a block diagram of a further embodiment of an interactivebarcode communication system.

FIG. 33 is a flow diagram of a process for a point of access datadelivery system, according to an embodiment.

FIG. 34 is a flow diagram of a process to perform the reconstruction ofthe POA data, according to an embodiment.

FIG. 35 is an illustration of the distribution of point of access data,according to an embodiment.

FIG. 36 is a block diagram shown an exemplary distribution of visualelements on a display.

FIG. 37 illustrates a horizontally repeating distribution of visualelements, according to an embodiment.

FIG. 38 illustrates a vertically repeating distribution of visualelements, according to an embodiment.

FIG. 39 illustrates a repeating distribution matrix of visual elements,according to an embodiment.

FIG. 40 illustrates an additional repeating distribution matrix ofvisual elements, according to an embodiment.

FIG. 41 is an illustration of a point of entry system that enables imagecode scanning and recognition at a distance.

FIG. 42 illustrates a flow diagram of a process to perform ad hoc imagecode communication, according to an embodiment.

FIG. 43 is an additional illustration of a display and scanning device4300, according to an embodiment.

FIG. 44 is an additional illustration of an exemplary implementation ofa system of interactive barcode communication for self-authentication.

DETAILED DESCRIPTION

Various embodiments and aspects of the inventions will be described withreference to details discussed below, and the accompanying drawings willillustrate the various embodiments. The following description anddrawings are illustrative of the invention and are not to be construedas limiting the invention. Numerous specific details are described toprovide a thorough understanding of various embodiments of the presentinvention. However, in certain instances, well-known or conventionaldetails are not described in order to provide a concise discussion ofembodiments of the present inventions.

Reference in the specification to “one embodiment” or “an embodiment” or“another embodiment” means that a particular feature, structure, orcharacteristic described in conjunction with the embodiment can beincluded in at least one embodiment of the invention. The appearances ofthe phrase “in one embodiment” in various places in the specification donot necessarily all refer to the same embodiment. The processes depictedin the figures that follow are performed by processing logic thatcomprises hardware (e.g., circuitry, dedicated logic, etc.), software,or a combination of both. Although the processes are described below interms of some sequential operations, it should be appreciated that someof the operations described can be performed in a different order or maybe optional under the circumstances and conditions described. Moreover,some operations can be performed in parallel rather than sequentially.

System Overview

An interactive barcode communication system on a mobile device isdescribed herein. A barcode is displayed on a mobile device. In oneembodiment, the barcode can include information related to the user ofthe device (e.g. account information). The displayed barcode is scannedby a barcode reader and is processed by a computing device. In response,the computing device can cause a second barcode to be displayed on abarcode presenter, which is subsequently captured by the mobile device.The mobile device can process the information in the second barcode anddisplay a third barcode to the barcode reader. After processing theinformation of the third barcode, the computing device can conclude theoperation. In one embodiment, the barcode reader and barcode presentingdisplay device can be a part of a single interface referred to as aninformation receptacle, herein. In one embodiment, the informationreceptacle can have an integrated computing system to process and decodebarcode information.

FIG. 1 illustrates an embodiment of an interactive barcode communicationsystem 100. System 100 comprises a central system 102, at least onemobile device 104, and an encryption code generator 106. Central system102 can be any computing device capable of receiving and transmittingdata, either over a connected network or off-network. In anotherembodiment, encryption code generator 106 can be a part of the centralsystem 102. Encryption code generator 106 can transmit unique codes tocentral system 102, which mobile device 104 can use to generate barcodesused in the operations described herein. In one embodiment, centralsystem 102 can be a computing device that can send and receiveinformation to and from other devices connected through a private orpublic network. In one embodiment, computing system 102 can be connectedwith various devices using separate networks. For example, computingdevice 102 can be connected to encryption code generator 106 via aseparate network and can be connected to mobile device 104 using anothernetwork. Mobile device 104 can be, but not limited to, a cellulartelephone, a tablet, a laptop, a touch screen display, a PDA, or anyportable computing device.

In one embodiment, system 100 also includes at least one point of entrydevice 108. Point of entry device 108 can be any device that usuallyprevents access across a path. The point of entry device 108 can beconfigured to permit access only after access information is receivedfrom mobile device 104. In one embodiment, point of entry device isassociated with a computing device. In yet another embodiment, thecomputing device associated with the point of entry device 108 can beconnected to central system 102 via an optional communication network.In one embodiment point of entry device 108 is a turnstile device (e.g.,used at train stations, courthouses, concerts halls, stadiums, etc.). Inanother embodiment, point of entry device 108 can be a door. In yetanother embodiment, point of entry device 108 can be a virtual entrypoint (e.g., a visual signal indicating a red light to stop and greenlight to proceed). In one embodiment, point of entry device 108 iscoupled to a barcode reader. In another embodiment, the point of entrydevice 108 is coupled to a bar code generator. In another embodiment,point of entry device 108 is coupled to an information receptacle. Thebarcode reader can be used to read/scan a barcode presented by mobiledevice 104. In another embodiment, the barcode generator coupled to thepoint of entry device 108 can display a barcode to be scanned by mobiledevice 104. In another embodiment, the barcode generator and barcodereader are presented using a single (combined) interface capable of bothreading and scanning barcodes (e.g., information receptacle as describedherein).

In one embodiment, central system 102 includes information about auser's account information. Account information can include any of anaccount number, an account balance, an expiration date, etc. pertainingto the user. Central system 102 also transmits encryption codes,received from encryption code generator 106, to mobile device 104.Mobile device 104 can use the received encryption codes to generate abar code that can be presented to point of entry device 108. In anotherembodiment, central system 102 transmits multiple encryption codes alongwith time period information (code-time data), instructing mobile device104 to use a certain encryption code during a specified time period. Inone embodiment, using an encryption code during a specified time period,mobile device 104 can generate a unique barcode that can be scanned atan interface of a point of entry device 108.

In one embodiment, the code-time data can be loaded to a computingdevice coupled with point of entry device 108. Using the code-time data,point of entry device 108 can know what code to expect at the associatedbarcode reader, in order to permit entry when mobile device 104 isscanned. In one embodiment, code-time data can be manually loaded to thecoupled computing machine of the point of entry device 108 (e.g., usinga USB storage device, compact disk, etc.). In another embodiment, thecode-time data is transmitted from central system 102 to point of entrydevice 108 over a communication network in which both central system 102and point of entry device 108 are connected.

In one embodiment, encryption code generator 106 generates encryptioncodes at the request of central system 102. In another embodiment, thecodes are generated at specific time intervals and transmitted tocentral system 102 after generation. Central system 102 can also beconfigured to periodically generate a set of code-time data and transmitthe set of data to mobile device 104. In one embodiment, the set ofcode-time data is not transmitted to mobile device 104 unless anindication is received (either manually or programmatically) that thecode-time data has been associated with the point of entry device 108.In another embodiment, the code-time data, even if transmitted to mobiledevice 104, are not used unless mobile device 104 receives an indicationfrom central system 102 that the code-time data is now available withthe point of entry device 108. Central system 102 can receiveinformation regarding the code-time data associated with point of entrydevice 108 either though network communication between the device,manually by an operator of the central system 102, or a combinationthereof.

A network connection between the point of entry device 108 and thecentral system 102 is optional, as the interactive barcode communicationsystem may be implemented without a network connection between centralsystem 102 and point of entry device 108. In one embodiment, theencryption codes (optionally in the form of code-time data) areperiodically loaded to a computing device associated with point of entrydevice 108 by service personnel using a portable data storage device(e.g., USB storage device, compact disk, etc.).

Interactive Barcode Communication System Applied to a Turnstile Deviceat a Train Station

FIG. 2 illustrates a process 200 (Process A) of applying the interactivebarcode communication system 100, as applied to a turnstile deviceoperating as the point of entry device 108. In one embodiment, at block202, a user opens an application at mobile device 104 that enablesdevice 104 as shown at block 204. Optionally, block 202 also pre-focusesthe camera of mobile device 104 to initialize the system. Once at block204, mobile device 104 computes the existing monetary balance in theuser's account. In one embodiment, mobile device 104 communicates withcentral system 102 to enquire the balance in the user's account. In oneembodiment, the balance information is stored locally on the mobiledevice 104 and the mobile device can communicate periodically with thecentral system to confirm the balance on the mobile device is consistentwith the balance on the central system.

If the user's account at least has a minimum balance equivalent to theminimum fare of a train ticket ride or any other preconfigured amount,the operation proceeds. If not, then mobile device 104 presents aninsufficient balance message on mobile device, as described inconjunction with FIG. 5 . In one embodiment, the user may be given awarning of insufficient balance before entering the station based ondata used for advertisement generation, as described in conjunction withFIG. 7 .

Assuming the minimum balance condition has been met, at block 206, aunique barcode is displayed on mobile device 104. The unique barcode isgenerated using the code-time data received from central system 102 andfurther in conjunction with FIG. 4 below.

As shown at block 208, the unique barcode displayed on mobile device 104comprises the user's account information (e.g., account number, type ofride—adult, student, senior, account balance, etc.). In anotherembodiment, the unique barcode also comprises information pertaining tothe mobile device information (make, model, etc.). In one embodiment,the mobile device information assists in placement of the barcodes onthe transaction receptacle relative to placement of the capturing device(e.g., camera) of mobile device 104 so that the interactive barcodecommunication can undergo between mobile device 104 and transactionreceptacle of turnstile device 108.

In one embodiment, the transaction receptacle of turnstile device 108 isan information receptacle (as described herein). At block 210, the userplaces or positions mobile device 104 onto a face of a transactionreceptacle at the turnstile. In another embodiment, the user positionsthe device so that a barcode reader associated with the turnstile canscan or capture the unique barcode displayed on mobile device 104. Asshown at block 212, the transaction receptacle scans the unique barcode.The transaction receptacle processes the information and at block 214 itconfirms the account verification by comparing the encryption codeembedded in the unique bar code to a preloaded database, which is loadedon a computing device associated with the transaction receptacle of theturnstile. If account verification is unsuccessful, the operation shiftsto a denial of payment verification, as further illustrated in FIG. 6 .

If account verification is successful, control proceeds to block 215where transaction receptacle positions its barcode scanner and barcodedisplay positions relative to make/model of device. At block 216, wherethe transaction receptacle displays, in one embodiment, a standardacceptance barcode, which includes the station identification code andan associated unique turnstile number. In one embodiment, at block 216,a session key can be provided to the mobile device to uniquely identifythe transaction session, although a session key may also be provide bythe mobile device 104 at block 208. At block 218, the applicationinstructs mobile device 104 to, utilizing its capturing device (e.g.,camera), scan/capture the standard acceptance barcode. At block 220, thedevice application records station identification and the uniqueturnstile number along with the specific time of acceptance of thestandard acceptance barcode by mobile device 104. If the barcodedisplayed on the transaction receptacle is a standard rejection code,control shifts to the denial of payment verification process, asillustrated in FIG. 6 .

However, if the barcode is a standard acceptance barcode, it is deemedvalid and control shifts to block 222 where the device applicationdisplays a confirmation barcode. At block 224, in one embodiment, thetransaction receptacle scans the standard confirmation barcode. In oneembodiment, the standard confirmation barcode instructs the turnstiledevice to release the turnstile gate. The production of the standardconfirmation barcode, at block 226, also results in the deviceapplication deducting the fare amount from the user's existing balance.In one embodiment, as shown at block 228, the user's account balance iscurrent (after the deducted balance) locally within the deviceapplication only. Optionally, in another embodiment, block 228 isomitted, and once the standard confirmation barcode is generated, theaccount information is directly updated with central system 102.

FIG. 3 illustrates, in one embodiment, a process 300 (Process B) ofupdating a central payment database associated with central system 102after the confirmation barcode is generated by mobile device 104. Inthis embodiment, at block 301, device application establishes aconnection with central system 102 when there is Internet access. Atblock 303, device application exports the new account balance, exacttime of fare usage, station information, unique turnstile informationnumber on all payments or transactions that may have occurred since lasttime a connection between mobile device 104 and central system 102 wasestablished. At block 305, central system 102 receives the informationfrom the device application and updates its relevant data sets in thecentral payment database. Central system 102, at block 307, transmitsthe updated information to mobile device 104 from where deviceapplication processes the updated information.

The updated information, in one embodiment, includes an updated accountbalance and any relevant settings. In one embodiment, the updatedinformation also includes advertisements or balance notifications. Theadvertisements may be targeted based on criteria pertaining to the userof mobile device 104 or the location of the turnstile device and/ortrain station, as will be discussed while describing FIG. 7 . Thepattern of use and predicted use data used for advertisement may also beused to provide low-balance notices to the user based on likely times ofuse.

Assigning Encryption Codes to Account Numbers

FIG. 4 describes, in one embodiment, a process 400 (Process C) ofassigning the encryption codes, generated from encryption code generator106, to account numbers by central system 102. At block 402, accountnumbers are pre-generated. In one embodiment, the account numbers arerandomly generated using a random seed. At block 404, when the userfirst enrolls, the generated account number is assigned to the user. Atblock 406, the central system 102 pre-assigns the encryption codes(received from encryption code generator) to the account numbers. In oneembodiment, the pre-assigning is performed based on an assignmentalgorithm that can assign the encryption codes to the enrolled accountson central system 102. At block 408, the encryption codes and theircorresponding account numbers are loaded onto a data store of acomputing device associated with point of entry device 108. In oneembodiment, the account numbers are loaded at a predetermined period(e.g., every quarter year).

The data store can be updated with the encryption codes and accountnumbers manually or via a communication network (e.g., the internet oran intranet). At block 410, the encryption codes associated with anaccount are updated onto mobile device 104, at predetermined periods(e.g., every 2 days). In another embodiment, central server 102 onlytransmits a subset of all the encryption codes (e.g., 50 codes)associated with an account to mobile device 104 during the predeterminedperiods. In another embodiment, mobile device 104 can request new codes(already assigned to the account), from central server 102 when theavailable encryption codes on mobile device falls below a thresholdlevel (e.g., 5 encryption codes).

In one embodiment, the account numbers are associated with the code-timedata, as described above. In such an embodiment, in addition to theencryption codes, a unique time stamp (and/or date stamp) is alsoassociated with the account number. Such time/date value indicates thevalidity of a certain encryption code (e.g., 1 hour, between 9:15am-10:30 am, etc.) used to generate the unique barcode by mobile device104. In such an embodiment, the time and/or date information is alsoloaded onto the turnstile device, in addition to the code data. Thecode-time data aspect of the invention is further described in FIG. 8and its corresponding disclosure.

Adding Funds to User Accounts

FIG. 5 illustrates an embodiment that provides for a process 500(Process D) implemented by the interactive barcode communication systemin which funds are added to a user's account associated with mobiledevice 104. After the user initially scans the unique barcode (at block204 of FIG. 2 ) and it is determined that the user's account does nothave the minimum required balance, at block 501, the account holderreceives a notice of insufficient balance displayed on mobile device104. As illustrated in block 503, to add funds to the account withoutthe use of a point of sale device, the mobile device should be at anarea where a connection with central system 102 can be established. Inan underground subway station with no network connection, the app maynotify the use to make use of a point of sale device as illustrated inFIGS. 16-18 . If an Internet, or other connection to the central system102 can be established, the user may proceed to block 505.

At block 505, the account holder selects the amount value they wish toadd to the account. In another embodiment, the user may request a timevalue to be added to the account (e.g., one day pass, weekly pass,etc.), and central system 102 may present the user with an appropriateamount value for the user's authorization. At block 507, the accountholder authorizes the amount or transaction at a check out screen on thedevice application. At block 509, the account holder can be providedwith an option to choose a source of payment (e.g., credit, debit, orbank account).

At block 511, the account holder enters the required payment informationor the device application automatically populates the paymentinformation that may have been previously saved. The account holder isthen asked to confirm the transaction and at block 513 the transactionis executed through an internet or network connection. If thetransaction is declined, control shifts to block 515 where a denialnotification is displayed on mobile device 104. In one embodiment,control then shifts back to block 509 where the user is requested toselect a source of payment. If the transaction is authorized, at block517, both the device application and central database are updated toreflect the recently authorized amount credited to the user's accountbalance. In one embodiment, at block 518, a transaction receipt isemailed to the account holder at the email address listed on theiraccount.

Denial of Verification by Transaction Receptacle

FIG. 6 is a flow diagram of a process 600 (Process E) for a denial ofverification by a transaction receptacle associated with point of entrydevice 108, in one embodiment. If at either block 214 or 220 of FIG. 2 ,where either account verification is denied based on barcode mismatch,transaction receptacle displays a standard rejection barcode and controlis passed to block 602. At block 602, the standard rejection code isdisplayed at the transaction receptacle. In one embodiment, the standardrejection code includes station identification information and theunique turnstile number from where the standard rejection code wasdisplayed. At block 604, device application scans the standard rejectionbarcode. In one embodiment, the standard rejection barcode informationcan be decoded and used to detect fraud or problem with the associatedturnstile device. At block 606, the device application records thespecific time when the rejection was issued, station identificationcode, along with the unique turnstile number or code. As shown at block608, the device can, in one embodiment, indicate (e.g., vibrate, beep,etc.), that admittance was rejected. Here, the device ensures that thetransaction is canceled and that no fare was charged to the user'saccount.

Advertisement and Insufficient Balance Notification Generation

FIG. 7 illustrates an embodiment which provides for a process 700(Process F) performed by the interactive barcode communication system inwhich advertisements are displayed on to mobile device 104. Duringupdating the central payment database central system 102 about arecently completed transaction, central system 102 receives allinformation from device application and updated all relevant data sets,as described herein at block 305 of FIG. 3 . In one embodiment, thecentral database records the station information where the transactionoccurred, as shown at block 701. At block 703, the stationidentification information is analyzed by the ventral database to searchfor patterns in station usage to be applied to advertising. At block705, is a pattern in station usage emerges (that is, home station, workstation, etc.), central system 102 transmits to mobile device 104targeted advertisements related to retail locations in proximity tothose stations. In another embodiment, advertisement may be based on thelocation of the station and presenting marketing information oradvertisements that pertain to the location, if a pattern is not found.At block 707, mobile device 104 receives the transmitted advertisementand displays it on to the screen. In one embodiment, the advertisementis linkable to a website or other electronic resource (that is, a usermay click or touch the advertisement to be forwarded to anotherelectronic resource or server). In another embodiment, the user ispresented discount coupons related to businesses in the vicinity of theuser's current location. In yet another embodiment, such advertisementsmay be associated with user surveys, and optionally presenting the useran incentive to complete the surveys. In general, any advertisementstrategy can be applied to generate an additional revenue stream, inlieu to the ones described herein.

In one embodiment, as shown at block 709, the advertisement notificationlogic is supplemented with an algorithm to analyze the patterns ofstations used and time of use for a user to determine if and whencertain notices should be sent to the user, such as a notice ofinsufficient balance for next predicted use. As shown at block 711, thedevice app can display a notice based on an account balance (e.g.,current/predicted), pattern of station usage, next expected usage, etc.For example, if a use's account balance indicates an insufficientbalance to complete the day's predicted usage, or to complete theimmediate next predicted use, a notice can be displayed to the user. Inone embodiment, other notifications can be displayed to the user basedon pattern of use, such as delays at stations used by the user.

Code-Time Data Generation

As described above, in one embodiment, central system 102 transmitsmultiple encryption codes along with time period information (code-timedata), instructing mobile device 104 to use a certain encryption codeduring a specified time period.

FIG. 8 illustrates an exemplary table 800 of code-time data generated bythe encryption code generator 106. In addition to having thisinformation at the turnstile device, mobile device 104 can use thecode-time data to generate the unique barcodes, responsive to whichpoint of entry device can permit access across a path. Such a processcan be used to prevent misuse of the barcodes at point of entry devices108 by providing additional flexibility to manipulate the validity of aparticular barcode only during a certain period of time. In oneembodiment, each unique barcode based on the code-time data is valid fora single use (by embedding a date along with the time data). In anotherembodiment, the code-time data is reusable during certain hours, basedon the time of use.

Referring back to FIG. 8 , in one embodiment, data table 800 comprisesmultiple account numbers (e.g., 101, 102, 103, etc.) assigned differentunique encryption codes using which unique barcodes are generated bymobile device 104. Further table 800 shows numerous time/date-stampsduring which each of the assigned encryption code is expected to be usedby mobile device 104 to successfully gain access across point of entrydevice 108. For example, on Jun. 1, 2014, between 9:00 am and 9:45 am,fora user with account number 101, point of entry device 108 can expectthe unique barcode to be generated using encryption code 10305.Similarly, during 12:00 pm and 12:45 pm, point of entry device 108 canexpect mobile device 104 of account holder 101 to use encryption code13500 to generate the unique bar code. During the above specified times,when the unique barcode is scanned, the data store of point of entrydevice 108 verifies that the correct encryption code is used in the datavalue of the unique barcode. If the correct barcode is used, in oneembodiment, the standard acceptance code is generated and displayed bypoint of entry device, as discussed above. Similarly, if the correctbarcode is not used, a standard rejection barcode is displayed by pointof entry device 108. In one embodiment, different (random) timestampsare associated with different account numbers (that is, not all accountnumbers would be expected to generate a new barcode at a given time todate stamp). For example, as shown account number 102 expects a newencryption code (thus, new unique barcode) to be used between 9:05 amand 10:00 am on Jun. 1, 2014. As can be noted, this time stamp isdifferent (although overlapping) than the one used for account number101. Such randomness increases the security in issuing new random andunique barcodes and assists in preventing fraud or misuse of the system.

General Interaction of a Mobile Device and Information Receptacle

FIG. 9 illustrates the interaction between a mobile device and atransaction or information receptacle of the interactive barcodecommunication system, in one embodiment. As shown in this non-limitingexemplary illustration, mobile device 104 is represented by smartphone904. The smartphone 904 displays a first barcode, which is scanned orcaptured by information receptacle 908, which is associated with a pointof entry device 108. The first barcode can comprise any information thatmay be required to identify the mobile device and/or account holder(subscriber ID, account number, etc.). Once information receptacle 908processes the information from the first barcode, information receptacle908 displays a second barcode. The second barcode is captured by mobiledevice 904 using a barcode scanning mechanism. Information from thesecond barcode is processed by mobile device 904. The second barcode cancomprise an acceptance code, a rejection code, along with otherpertinent information like a timestamp. In one embodiment, the secondinformation also comprises a unique turnstile device ID. In yet anotherembodiment, the second information further includes a unique station ID.

After the second information is processed, optionally, mobile device 904displays a third barcode. In one embodiment, the third barcoderepresents a confirmation code or message using which the informationreceptacle performs a certain action required to complete a transaction(e.g., instructing a system to permit the user across a turnstile). Inone embodiment, the third barcode is displayed only if the secondbarcode information comprised a signal indicating successful processingof the information first barcode (e.g., an acceptance code). The thirdbarcode is scanned by information receptacle 908, and after processing,the information receptacle can implement steps that are required after asuccessful completion of a transaction or occurrence, like permittingaccess across a turnstile device (based on the turnstile device IDpreviously received by mobile device 904 from the second barcode).

The techniques described herein are not limited to traditional barcodesor barcode readers, and can be used with various image-scanning devices,including camera devices. FIG. 10 illustrates an embodiment in which theinteractive communication system is implemented using an image code(e.g., QR code, data matrix, digital watermark, etc.) scanned using acamera of a mobile device 104, such as smartphone 1104. Smartphonedevice 1004 displays a first image code, which is scanned by theinformation receptacle 1008 adapted to scan image codes. In oneembodiment, information receptacle 1008 is also configured to displayimage codes. Once information receptacle 1008 processes the informationdisplayed in the first image code, information receptacle 1008 displaysa second image code that is captured by the smartphone 1004. The deviceprocesses the information from the second image code and displays athird image code that is captured by the information receptacle. Basedon the information transmitted, information receptacle can be instructedto perform certain actions, based on the information communicated bysmartphone device 1004 to information receptacle 1008. In thisdisclosure, any use of a barcode may be substituted with an image code.Additionally, smartphone 904 and 1004 are examples of a mobile device104, and other mobile devices with a display and a barcode or imagescanning device may be used.

The scanning and display distance for the barcode or image scanningtechniques can vary. In one embodiment, a short distance is used forscanning barcodes and the mobile device 904 or smartphone 1004 ispositioned at a short distance from the image scanner. In oneembodiment, the mobile device 904 or smartphone 1004 is positioned at alarger distance (e.g., one or more meters) from the image scanner. Inone embodiment, interactive barcode communication transactions can beconducted at a distance of a several meters away from the informationreceptacle 1008, enabling the display of digital advertising on thescreen of the information receptacle 1008 while information isexchanged, for example, via image watermarking.

While some embodiments described herein display unique barcodes orunique image codes to transfer information, in one embodiment an ad hocconnection is used for interactive barcode communications. Withreference to FIG. 10 , in one embodiment, using the ad hoc connection,during Scan 1 the mobile device (e.g., smartphone 1004) displays aunique session key (SK1) that the information receptacle 1008 (e.g., ofa point of entry, turnstile, etc.) repeats during Scan 2. The sessionkey (SK1) is to identify which mobile device with which the point ofentry intends to interact, as multiple mobile devices may be present andattempting to communicate with the information receptacle 1008.Therefore only the correct mobile device will proceed with Scan 3, forexample, to deduct a transit fee from an account balance associated withthe mobile device (e.g., when the point of entry is for a turnstile fora mass transit system). In one embodiment, during Scan 2, theinformation receptacle 1008 displays a second unique session key (SK2).The second unique session key (SK2), in one embodiment, is the primarysecurity element used during the transaction, and the mobile devicerepeats SK2 during Scan 3 to be given access. SK2 is unique to thetransaction and the point of entry and is valid for a limited period oftime. In such embodiment, SK1 is used for identification purposes, whileSK2 is to prevent the use of screen shots or other manipulation forfraudulent access.

Integration of an Interactive Barcode Communication System with aTurnstile Device

FIGS. 11-15 , generally describe embodiments of integrating theinteractive barcode system with a turnstile device. FIG. 11 illustratesan embodiment where mobile device 104 is a smartwatch 1101. The user canposition smartwatch 1101, displaying a barcode or image code undersmartwatch receptacle 1103 to interact with the interactive barcodecommunication system, as described in various embodiments herein. Oncethe information is successfully exchanged, the user of smartwatch 1101is permitted to traverse turnstile 1107. In another embodiment, themobile device 104 can be smartphone 1104 that can be scanned aninformation receptacle 1108. In one embodiment, the turnstile device, inaddition to be integrated with the interactive barcode interactivesystem, can also have a traditional ticket scanning device 1109. FIG. 12describes an embodiment where the mobile device 104 is a tablet device1206. In another embodiment, information receptacle 1108 is capable ofinteracting with a smartphone device and a tablet device. In anotherembodiment, different receptacles can be used for smartphones andtablets. FIG. 13 illustrates a close up of information receptacle 1108(as used with a point of entry device), in one embodiment. In oneembodiment, the mobile device 104 can be a smartphone 1104 or a tabletdevice 1206. In one embodiment, the information receptacle 1108integration includes one or more raised edges 1302 or display guides toassist the user in placement of the smartphone 1104 or tablet 1206device.

In yet another embodiment, information receptacle can be embedded intothe turnstile device as illustrated in FIG. 14 . As shown, a slotcomprising the information receptacle 1401 is configured to acceptmobile device 1404. Once the system successfully exchanges the requiredinformation, as described in various embodiments herein, turnstile 1107is permitted to let the user of mobile device 1404 across the turnstile.FIG. 15 illustrates a close up of an embodiment of the interactivebarcode communication system integrated with a turnstile device withinformation receptacle 1401 with a traditional ticket scanning mechanism1109. In one embodiment, any of the illustrations represented by FIGS.11-15 can be implemented at a train station where the turnstile deviceillustrated replaces (or augments) a traditional turnstile device.

FIG. 16 illustrates an embodiment of a point of sale device 1600 of theinteractive barcode communication system that is used to add additionalfunds to an account holder's account. Device 1600 may be a transitticket vending machine as known in the art with modifications to includeinformation receptacle 1608, which is a version of the informationreceptacle 1108 used in the associated turnstile integration shown inFIGS. 11-13 . Information receptacle 1608 may also be configured as in arecessed configuration as illustrated in FIGS. 14-15 . In oneembodiment, as shown in FIG. 16 , the point of sale device 1600 includesa first informational display 1601, such as a scrolling LED display, todisplay information or announcements of general use, and a secondinformational display 1602 to provide usage information to a user of themachine. The user positions a mobile device over a display/scanner ofthe information receptacle to transmit and receive information. Thesecond informational display 1602 can display an account holder'sbalance after the transaction is successfully completed. In oneembodiment, the account holder's balance is displayed also if thetransaction fails. In one embodiment, the information screen 1602displays the cost associated with the transaction.

FIG. 17 illustrates another embodiment of a point of sale device 1700 ofthe interactive barcode communication system that may be used to addadditional funds to a user's account. In one embodiment, informationreceptacle 1701 displays a message on information screen 1702,instructing the user to hold mobile device 1704 on a display/scanner1708. Once the user positions mobile device 1704 over display/scanner1708, the information screen 1702 can display an account holder'sbalance after the transaction is successfully completed. In oneembodiment, the account holder's balance is displayed also if thetransaction fails. In one embodiment, the information screen 1702displays the cost associated with the transaction.

FIG. 18 illustrates yet another embodiment of a point of sale system ofthe interactive barcode communication system. In this embodiment,information receptacle 1801 comprises slot 1705 configured to acceptmobile device 1704. Information receptacle 1801 displays a message oninformation screen 1802 to insert device into slot 1705. Once the userplaces mobile device 1704 into slot 1705, information screen 1802 candisplay a message indicating that mobile device 1704 has been accepted.In addition, the information screen 1802 can display the accountholder's current balance, after the transaction is successful or afterthe transaction fails, or display the cost associated with thetransaction.

Adding Funds to User Accounts Using Point of Sale Devices

FIG. 19 illustrates an embodiment of the interactive barcodecommunication system in which funds are added to a user's accountassociated with mobile device 104 using, for example, one of the pointof sale devices of FIGS. 16-18 . As shown in block 503 of FIG. 5 , auser may be directed to use a point of sale device to add funds to theuser's account if the user is at an area where a wireless networkconnection with central system 102 cannot be established, such as in anunderground subway station without effective wireless network coverage.In such case, the process begins as shown in block 1901. At block 1903,the account holder selects the amount value they wish to add to theaccount. In another embodiment, the user may request a time value to beadded to the account (e.g., one day pass, weekly pass, etc.), andcentral system 102 may present the user with an appropriate amount valuefor the user's authorization. At block 1905, the account holder selectsthe option to checkout on the point of sale device. At block 1907 theaccount holders uses the payment receptacle at the point of sale deviceto input payment. At block 1909 the user select a ‘manual input’ optionon the mobile device application.

As shown at block 1911 the mobile device activates a unique barcodebased on the account holder and device specific information. As shown atblock 1913, the unique barcode is displayed on mobile device 104. Atblock 1915, the user places or positions mobile device 104 onto a faceof a transaction receptacle at the turnstile. In another embodiment, theuser positions the device so that a barcode reader associated with theturnstile can scan or capture the unique barcode displayed on mobiledevice 104. At block 1917, the unique barcode is scanned by thetransaction receptacle.

The transaction receptacle processes the information, and at block 1920the receptacle confirms the account verification by comparing theencryption code embedded in the unique bar code to a preloaded database,loaded on a computing device associated with the transaction receptacleof the turnstile. If account verification is unsuccessful, the operationshifts to a denial of payment verification, as further illustrated inFIG. 20 . If account verification is successful, control proceeds toblock 1922 where transaction receptacle positions its barcode scannerand barcode display positions relative to make/model of device. At block1924, where the transaction receptacle displays, in one embodiment, astandard acceptance barcode, which includes the station identificationcode and a unique vending number associated with the point of saledevice. At block 1926, the application instructs mobile device 104 to,utilizing its capturing device (e.g., camera), scan/capture the standardacceptance barcode. At block 1928, the device application recordsstation identification and the unique turnstile number along with thespecific time of acceptance of the standard acceptance barcode by mobiledevice 104. If the barcode displayed on the transaction receptacle is astandard rejection code, control shifts to the denial of paymentverification process, as illustrated in FIG. 20 .

However, if the barcode is a standard acceptance barcode it is deemedvalid and control shifts to block 1930 where the device applicationdisplays a confirmation barcode. At block 1932, in one embodiment, thetransaction receptacle scans the standard confirmation barcode. Theproduction of the standard confirmation barcode displayed at block 1930results in the device application adding the indicated amount to theuser's existing balance stored on the device. The point of sale device,as shown at block 1934, then updates the central system.

Denial of Verification by Payment Receptacle/Point of Sale Device

FIG. 20 illustrates the process flow during a denial of verification bya payment receptacle associated with point of sale device, according toan embodiment. If at either block 1920 or 1928 of FIG. 19 , where eitheraccount verification is denied based on barcode mismatch, transactionreceptacle displays a standard rejection barcode, control is passed toblock 2002. At block 2002, the standard rejection code is displayed atthe transaction receptacle. In one embodiment, the standard rejectioncode includes station identification information and the unique vendingnumber from the point of sale device. At block 2004 the deviceapplication scans the standard rejection barcode. In one embodiment, thestandard rejection barcode information can be decoded and used to detectfraud or problem with the associated point of sale device. In oneembodiment the standard rejection barcode can contain at least partiallyencrypted information. At block 2006, the device application records thespecific time when the rejection was issued, station identificationcode, along with the unique vendor number or code. As shown at block2008, the device can, in one embodiment, indicate (e.g., vibrate, beep,etc.), that admittance was rejected. As shown at block 2010, the pointof sale device can record the specific time of rejection, account numberand vending number to upload to central system.

The techniques shown in the figures can be implemented using computerprogram instructions (computer code) and data stored and executed on oneor more electronic systems (e.g., computer systems, etc.). Suchelectronic systems store and communicate (internally and/or with otherelectronic systems over a network) code and data using machine-readablemedia, such as machine-readable non-transitory storage media (e.g.,magnetic disks; optical disks; random access memory; dynamic randomaccess memory; read only memory; flash memory devices; phase-changememory). In addition, such electronic systems typically include a set ofone or more processors coupled to one or more other components, such asone or more storage devices, user input/output devices (e.g., akeyboard, a touchscreen, and/or a display), and network connections. Thecoupling of the set of processors and other components is typicallythrough one or more busses and bridges (also termed as bus controllers).The storage device and signals carrying the network traffic respectivelyrepresent one or more machine-readable storage media andmachine-readable communication media. Thus, the storage device of agiven electronic device typically stores code and/or data for executionon the set of one or more processors of that electronic device.

It should be apparent from this description that aspects of the presentinvention may be embodied, at least in part, in software. That is, thetechniques may be carried out in a computer system or other computersystem in response to its processor, such as a microprocessor, executingsequences of instructions contained in memory, such as a ROM, DRAM, massstorage, or a remote storage device. In various embodiments, hardwarecircuitry may be used in combination with software instructions toimplement the present invention. Thus, the techniques are not limited toany specific combination of hardware circuitry and software nor to anyparticular source for the instructions executed by the computer system.In addition, throughout this description, various functions andoperations are described as being performed by or caused by softwarecode to simplify description. However, those skilled in the art willrecognize what is meant by such expressions is that the functions resultfrom execution of the code by a processor.

FIG. 21 is a block diagram illustrating a data processing system such asa computing system 2100 that may be used with one embodiment of theinvention. In one embodiment, system 2100 may represent a computingmachine associated with any of the devices described in system 100(e.g., central system 102, mobile device 104, encryption code generator106, point of entry device 108, etc.). System 2100 may also represent adesktop, a laptop, a tablet, a server, a mobile phone, a programmablelogic controller, a personal digital assistant (PDA), a personalcommunicator, a network router or hub, a wireless access point (AP) orrepeater, a wearable device (e.g., smartwatch), or a combinationthereof.

System 2100 may have a distributed architecture having dispersed unitscoupled through a network, or all of its components may be integratedinto a single unit. Computing system 2100 may be implemented as part ofa diverse range of products implemented using any embodiment of theinteractive barcode system described herein. Computing system 2100 mayrepresent any of data processing systems described above performing anyof the processes or methods described above. System 2100 can includemany different components. These components can be implemented asintegrated circuits (ICs), portions thereof, discrete electronicdevices, or other modules adapted to a circuit board such as amotherboard or add-in card of the computer system, or as componentsotherwise incorporated within a chassis of the computer system. Notealso that system 2100 is intended to show a high level view of manycomponents of the computer system. However, it is to be understood thatadditional or fewer components may be present in certain implementationsand furthermore, different arrangement of the components shown may occurin other implementations.

In one embodiment, system 2100 includes processor 2101, memory 2103, anddevices 2105-2108 via a bus or an interconnect 2110. Processor 2101 mayrepresent a single processor or multiple processors with a singleprocessor core or multiple processor cores included therein. Processor2101 may represent one or more general-purpose processors such as amicroprocessor, a central processing unit (CPU), or the like. Moreparticularly, processor 2101 may be a complex instruction set computing(CISC) microprocessor, reduced instruction set computing (RISC)microprocessor, very long instruction word (VLIW) microprocessor, orprocessor implementing other instruction sets, or processorsimplementing a combination of instruction sets. Processor 2101 may alsobe one or more special-purpose processors such as an applicationspecific integrated circuit (ASIC), a cellular or baseband processor, afield programmable gate array (FPGA), a digital signal processor (DSP),a network processor, a graphics processor, a network processor, acommunications processor, a cryptographic processor, a co-processor, anembedded processor, or any other type of logic capable of processinginstructions.

Processor 2101, which may be a low power multi-core processor socketsuch as an ultra-low voltage processor, may act as a main processingunit and central hub for communication with the various components ofthe system. Such processor can be implemented as a system on chip (SoC).In one embodiment, processor 2101 may be an Intel® ArchitectureCore™-based processor such as an i3, i5, i7 or another such processoravailable from Intel Corporation, Santa Clara, Calif. However, other lowpower processors such as available from Advanced Micro Devices, Inc.(AMD) of Sunnyvale, Calif., an ARM-based design from ARM Holdings, Ltd.or a MIPS-based design from MIPS Technologies, Inc. of Sunnyvale,Calif., or their licensees or adopters may instead be present in otherembodiments.

Processor 2101 is configured to execute instructions for performing theoperations and methods discussed herein. System 2100 further includes agraphics interface that communicates with graphics subsystem 2104, whichmay include a display controller and/or a display device.

Processor 2101 may communicate with memory 2103, which in an embodimentcan be implemented via multiple memory devices to provide for a givenamount of system memory. As examples, the memory can be in accordancewith a Joint Electron Devices Engineering Council (JEDEC) low powerdouble data rate (LPDDR)-based design such as the LPDDR2 or LPDDR3standard. As examples, 2/4/8 gigabytes (GB) of system memory may bepresent and can be coupled to processor 2101 via one or more memoryinterconnects. In various implementations the individual memory devicescan be of different package types such as single die package (SDP), dualdie package (DDP) or quad die package (QDP). These devices can in someembodiments be directly soldered onto a motherboard to provide a lowerprofile solution, while in other embodiments the devices can beconfigured as one or more memory modules that in turn can couple to themotherboard by a given connector.

Memory 2103 can be a machine readable non-transitory storage medium suchas one or more volatile storage (or memory) devices such as randomaccess memory (RAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM),static RAM (SRAM), or other types of storage devices such as hard drivesand flash memory. Memory 1803 may store information including sequencesof executable program instructions that are executed by processor 2101,or any other device. For example, executable code and/or data of avariety of operating systems, device drivers, firmware (e.g., inputoutput basic system or BIOS), and/or applications can be loaded inmemory 2103 and executed by processor 2101. An operating system can beany kind of operating systems, such as, for example, Windows® operatingsystem from Microsoft®, Mac OS®/iOS® from Apple, Android® from Google®,Linux®, Unix®, or other real-time or embedded operating systems such asVxWorks.

System 2100 may further include 10 devices such as devices 2105-2108,including wireless transceiver(s) 2105, input device(s) 2106, audio 10device(s) 2107, and other 10 devices 2108. Wireless transceiver 2105 maybe a WiFi transceiver, an infrared transceiver, a Bluetooth transceiver,a WiMax transceiver, a wireless cellular telephony transceiver, asatellite transceiver (e.g., a global positioning system (GPS)transceiver), or other radio frequency (RF) transceivers, networkinterfaces (e.g., Ethernet interfaces) or a combination thereof.

Input device(s) 2106 may include a mouse, a touch pad, a touch sensitivescreen (which may be integrated with display device 2104), a pointerdevice such as a stylus, and/or a keyboard (e.g., physical keyboard or avirtual keyboard displayed as part of a touch sensitive screen). Forexample, input device 2106 may include a touch screen controller coupledto a touch screen. The touch screen and touch screen controller can, forexample, detect contact and movement or break thereof using any of aplurality of touch sensitivity technologies, including but not limitedto capacitive, resistive, infrared, and surface acoustic wavetechnologies, as well as other proximity sensor arrays or other elementsfor determining one or more points of contact with the touch screen.

Audio 10 device 2107 may include a speaker and/or a microphone tofacilitate voice-enabled functions, such as voice recognition, voicereplication, digital recording, and/or telephony functions. Otheroptional devices 2108 may include a storage device (e.g., a hard drive,a flash memory device), universal serial bus (USB) port(s), parallelport(s), serial port(s), a printer, a network interface, a bus bridge(e.g., a PCI-PCI bridge), sensor(s) (e.g., a motion sensor such as anaccelerometer, gyroscope, a magnetometer, a light sensor, compass, aproximity sensor, etc.), or a combination thereof. Optional devices 2108may further include an imaging processing subsystem (e.g., a camera),which may include an optical sensor, such as a charged coupled device(CCD) or a complementary metal-oxide semiconductor (CMOS) opticalsensor, utilized to facilitate camera functions, such as recordingphotographs and video clips. Certain sensors may be coupled tointerconnect 2110 via a sensor hub (not shown), while other devices suchas a keyboard or thermal sensor may be controlled by an embeddedcontroller (not shown), dependent upon the specific configuration ordesign of system 2100.

To provide for persistent storage of information such as data,applications, one or more operating systems and so forth, a mass storage(not shown) may also couple to processor 2101. In various embodiments,to enable a thinner and lighter system design as well as to improvesystem responsiveness, this mass storage may be implemented via a solidstate device (SSD). However in other embodiments, the mass storage mayprimarily be implemented using a hard disk drive (HDD) with a smalleramount of SSD storage to act as a SSD cache to enable non-volatilestorage of context state and other such information during power downevents so that a fast power up can occur on re-initiation of systemactivities. Also a flash device may be coupled to processor 2101, e.g.,via a serial peripheral interface (SPI). This flash device may providefor non-volatile storage of system software.

Note that while system 2100 is illustrated with various components of adata processing system, it is not intended to represent any particulararchitecture or manner of interconnecting the components; as suchdetails are not germane to embodiments of the present invention. It willalso be appreciated that network computers, handheld computers, mobilephones, and other data processing systems that have fewer or additionalcomponents may also be used with various embodiments.

Passenger Self-Authentication Using Barcode Communication

While embodiments of the interactive barcode communication systemdescribed

above are of use when conducting offline, non-networkedmachine-to-machine communication, such as in an underground subwaystation, embodiments have uses in a variety of circumstances. In oneembodiment, the interactive barcode communication system is extended toenable passenger self-authentication and ticket purchasing on aboveground, network enabled commuter rail systems.

System Overview

The interactive barcode communication system passengerself-authentication system 2200 utilizes a central system 2202 incommunication with a conductor mobile device 2204 (e.g., tablet device)and a passenger mobile device 2206 (e.g., smartphone device or tabletdevice). The central system 2202 includes train data storage andtransaction data. The conductor device 2204 executes a conductorapplication. The conductor application shows a diagram of the train carson a commuter train including real-time seat occupancy information.

In one embodiment the conductor mobile device 2204 has a securecommunication to the central system 2202. The secure communicationenables the transmission of manual ticket entries by the conductor tothe central system 2202 and the receipt of digital tickets from thecentral system 2202 to the conductor device 2204. The digital ticketinformation is used to update the conductor application seat layoutshown by the conductor application.

Passenger ticket purchase and self-authentication of previouslypurchased tickets can be conducted via the passenger mobile device 2206by scanning a seat barcode 2208 which is displayed on the back of theseat immediately in front of the seated passenger, on a wall or bulkheadin front of a front-row seat, or another conveniently located position.In one embodiment, each seat is uniquely paired with a code thatcorresponds with the seat position and the train car in which the seatis located. In one embodiment, standing passengers (e.g., standees) inover-capacity trains can scan a barcode positioned in a location nearthe passenger standing position to authenticate a purchased ticket orpurchase an additional one.

FIG. 23 is an exemplary illustration of the passengerself-authentication system in use. In one embodiment, a passenger 2301in a seat 2302 can use a mobile device 2304, such as a smart phone, toscan a bar code 2306, such as a 2D image code displayed on the back of aseat in front of the passenger 2301. The image code can be staticallydisplayed or affixed or can be displayed on a display device positionedon the rear of the seat, such as via any scanner/display (e.g., 908,1008) as described herein.

Exemplary Processes

FIG. 24 illustrates a flow diagram of an exemplary process 2400 (ProcessI) for passenger self-authentication of periodic passes. In theexemplary process 2400, a passenger having a periodic pass, such as amonthly pass, can self-authenticate after selecting a seat on a commutertrain. The logic flow begins when the passenger opens the passengerself-authentication application on a mobile device, as shown at block2402, and enables the application's barcode scanner, as shown at block2404. As shown at block 2406, the passenger can scan a barcode, forexample, on the back of the seat in front of the passenger. For frontrow seats the passenger can scan a barcode located on a wall or otherlocation visible to the passenger. In one embodiment the barcode, whichmay be an image code, is encoded with a unique number associated with aspecific seat, train car, and train.

As shown at block 2408, in one embodiment the application exportsbarcode information and passenger account information to the centralsystem (e.g., central system 2202 in FIG. 22 ) via a wireless networkconnection, which can be a train-based wireless network (e.g., Wi-Fi) ora cellular radio wireless data connection such as an LTE, GSM, CDMA, orother wireless radio technology. As shown at block 2410, the centralsystem can return a list of destinations served by the specific train orvehicle on which the passenger is located. The list is received by themobile device application, as shown at block 2412, and the devicecompares the destinations against any passes that are associated withthe account (e.g., weekly pass, monthly pass, or other periodic passes).At block 2414, the application determines if the pass applies to adestination served by the train on which the passenger is located. Ifthe passenger's current train serves a destination for which the pass isapplicable, the passenger is paired with the specific seat associatedwith the barcode that was scanned with the application, as shown atblock 2416. In one embodiment, the passenger is paired with the seatuntil the destination is reached. If the passenger's current train doesnot serve the pass destination, the logic flow proceeds to block 2510 ofexemplary Process J, shown in FIG. 25 .

FIG. 25 illustrates a flow diagram of an exemplary process 2500 (ProcessJ) of passenger self-authentication when purchasing a single-rideticket. In the exemplary process 2500, a passenger having a periodicpass, such as a monthly pass, can purchase additional tickets fordestinations not served by the pass and self-authenticate the purchasedticket. For periodic pass holders, the process begins at block 2510after transitioning from block 2414 of the process 2400 (Process I), asshown in FIG. 24 . Alternatively, a non-pass holding passenger canpurchase a single ride ticket using a process beginning at block 2402and proceeding to block 2408, as previously described in FIG. 24 .

In one embodiment, as shown at block 2510, the central system returnsthe list of destinations served by the passenger's specific train, aswell other destinations served by a connecting train or transit linethat can be reached from the current. As shown at block 2512, thepassenger can select a destination and purchase single-ride or roundtrip ticket using credit card information that can be entered into theapplication, or that has been previously stored within the application.A transaction can occur via the application to purchase the ticket and,as shown at block 2514, if the transaction is successful the passengeris paired with the specific seat associated with the barcode, as shownat block 2516. If the transaction is denied, no transaction occurs, asshown at block 2515. In one embodiment, after one or more failedtransactions a train conductor receives alert that passenger in aspecific seat and train car is un-ticketed and that one or moretransactions to purchase a ticket failed or were denied.

FIG. 26 illustrates a flow diagram of exemplary process 2600 (Process K)for conductor ticket verification process using a conductor application.In the exemplary process 2600, a train conductor has a tablet device, oranother mobile device, which executes an application to display a seatdiagram of empty and occupied seats within the train. As shown at block2602, the conductor application can connect to the central system (e.g.,2202 of FIG. 22 ) to receive an update to seat assignment information onthe train. As shown at block 2604, the central system can update theconductor application with information regarding seat occupancy on theconductor's train over a wireless network. In one embodiment, theconductor application can also receive information from one or morepassenger self-authentication applications on the train, for example, ontrains having internal WI-FI.

As shown at block 2606, when the conductor application is updated, viathe central system or a local connection, the conductor's display isupdated with information as to which passenger is paired with whichseats. The conductor's tablet diagram can also be updated to reflectnewly occupied or vacated seat. In one embodiment, the occupancyinformation can be displayed in an anonymized fashion, such that theconductor can quickly ascertain which seats should be occupied or shouldbe empty. Using this information, as shown at block 2608, the conductorcan verify seat occupancy within each train car. The conductor canmanually authenticate passengers having paper tickets or passengers whohave not authenticated a digital monthly pass or single-ride ticket viathe passenger self-authentication system.

FIG. 27 illustrates a flow diagram of an exemplary process 2700 (ProcessK) to enable a mid-journey passenger seat change. In the exemplaryprocess 2700, a passenger can re-locate to a different seat during ajourney and re-pair with the new seat. After the passenger physicallymoves to a new seat, as shown at block 2702, the passenger can open theself-authentication mobile device application on a mobile device andselect an option for a “New Seat,” as shown at block 2704. In oneembodiment, this option is only available after the passenger hasregistered and authenticated a seat on the train. After selecting theNew Seat option, the passenger can scan the barcode associated with thenew seat, as shown at block 2706. As shown at block 2708, the mobiledevice application then exports the information encoded in the barcodeand the account information of the passenger to the central system via awireless network (e.g., Wi-Fi, GSM, LTE, CDMA). Once the new seatpairing is accepted into the central system, as shown at block 2710, thedisplay of the conductor application is updated to reflect the newinformation regarding empty and occupied seats, as shown at block 2712.

FIG. 28 illustrates an exemplary flow diagram of a process 2700 (ProcessM) of passenger self-authentication for standee passengers. In theexemplary process 2700, the logic flow begins when a standing passenger(e.g., standee) opens the passenger self-authentication application on amobile device, as shown at block 2802, and enables the application'sbarcode scanner, as shown at block 2804. When no seats are available apassenger can stand at various positions throughout aisles of a traincar. Unique barcodes can be placed throughout the train car for scanningby standees. The standee barcodes are not limited to one passenger andcan be scanned by multiple passengers to authenticate tickets.Accordingly, as shown at block 2806, a passenger in a standee area canscan a standee barcode to begin one of either Process A of FIG. 24 orProcess B of FIG. 25 . Once a periodic pass is validated (e.g., ProcessA) or a single ride-ticket is purchased (e.g., Process B), theapplication can export barcode information and passenger accountinformation to central system via a wireless network, as shown at block2808. Once the information is exported, the passenger is then pairedwith a specific standing area until the destination is reached, as shownat block 2811.

Subsequently, as shown at block 2812, the conductor's mobile device, viathe conductor application, is updated with the number of standees in acertain area. In one embodiment the standee passenger can select anoption on the passenger self-authentication application to “ShowAuthenticated Ticket” if a conductor requests a proof of anauthenticated ticket. The Authenticated Ticket can show information suchas the origin, destination, and real time count of the time since ticketwas authenticated.

FIG. 29 illustrates an exemplary flow diagram of a process 2900 (ProcessN) to enable passenger purchase of a periodic pass using an image codesystem. In the exemplary process 2900, a passenger begins by opening aself-authentication application on a mobile device, as shown at block2902. The passenger can then select an application option labeled“Monthly Pass,” as shown at block 2904. The passenger can then select anorigin and a destination, as shown at block 2906. The passenger can thenpurchase a pass using entered payment information or payment informationstored within the application, as shown at block 2912. As shown at block2914, if the transaction is successful the pass is added to thepassenger's account and the passenger is paired with the specific seatassociated with the barcode, as shown at block 2916. If the transactionis denied at block 2914, no transaction occurs, as shown at block 2915.In one embodiment, after one or more failed transactions a trainconductor receives alert that passenger in a specific seat and train caris un-ticketed and one or more transactions to purchase a ticket wasdenied.

The processes shown in FIG. 24 through FIG. 29 can be performed using adata processing system such as shown in FIG. 21 .

Conductor Mobile Device and Seat Map Application

FIG. 30 is an exemplary illustration of a conductor seat application foruse with the passenger self-authentication system. In one embodiment aconductor tablet device 3000 for the passenger self-authenticationsystem. The conductor tablet device 3000 executes a conductorapplication having a conductor display 3002. The conductor display 3002shows a seat layout for train cars, which can display which seats withina train car are occupied or empty. FIG. 30 shows an exemplary display inwhich all seats in a train car are empty. The conductor can thenvalidate the empty seats on the display against the physically occupiedseats on the train and validate passengers seated in seats that arelisted as unoccupied.

FIG. 31 is an additional exemplary illustration of a conductor seatapplication for use with the passenger self-authentication system. Asillustrated, empty seats 3004 and occupied seats 3102. The occupiedseats 3102 are seats that are either self-authenticated by thepassengers or manually validated by the conductor after verifying thatthe seated passenger has a ticket.

Delivering Data from an Unconnected Device to the Central System

One embodiment provides for a process of reconciling data to a centralsystem from a remote device with no or limited data network connectivitythrough any traditional source, such as a cellular wireless wide areanetworks (WWAN) (e.g., GSM, LTE, CDMA, etc.) or wireless local areanetworks (WLAN) (e.g., Wi-Fi, Bluetooth, etc.) or any other source thatcould provide connection to the central system database, (e.g., anInternet connection). In one embodiment the remote device is a turnstilereceptacle that conducts transactions with individual mobile devices andgrants or denies entry based on certain factors and processes previouslydiscussed herein. This process may be used to synchronize the data setof transactions performed by the turnstile since a previous update tothe central system, or the data set of transactions performed within aspecific time window (e.g., all transactions within a pre-determinedperiod of time).

Embodiments of the Interactive Barcode Communication system describedherein include the capability of passing large amounts of data from aturnstile receptacle to the mobile device with which the turnstile istransacting. For example during scan 2 shown in FIGS. 9-10 , a sessionkey and turnstile identification number may be transmitted to the mobiledevice. In addition to the session key and turnstile identification,part of all of the data for previous transactions conducted by aturnstile can be divided and transmitted to the central system via themobile devices used for of subsequent transactions. Using such processthe turnstile data can be more quickly reconciled with the centralsystem than scenarios in which the turnstile receptacle is provided aperiodic network data connection, or in which the turnstile data ismanually downloaded for upload to the central system.

FIG. 32 is a block diagram of a further embodiment of an interactivebarcode communication system 3200. In one embodiment the interactivebarcode communication system 3200 is a variant of the interactivebarcode communication system 100 shown in FIG. 1 , where network updates3204 are implemented between the central system 3202 and a point ofentry/sale 3206. In one embodiment, the point of entry/sale 3206 is aturnstile for a mass transit system that is positioned in a regionwithout a data connection to the central system 3202, such as asubterranean region without access to above ground wireless networks.The point of entry/sale 3206 may also be a point of entry to a building,room, or region of a building to which controlled, per-user access isprovided.

To implement the network updates 3204, stored point of access (e.g.,turnstile) data can be divided into multiple segments and the individualsegments can be encrypted. The encrypted data segments can then betransmitted to one or more mobile devices (e.g., mobile device 104) thatconduct subsequent entry transactions at the turnstile device. Once themobile devices reach an area in which a wireless data connection may beestablished, the turnstile data temporarily stored on the mobile devicesmay be transmitted to the central system via the wireless dataconnection of the mobile device. The network updates 3204 may beprovided from the central system 3202 to the point of entry/sale 3206,or may be provided from the point of entry/sale 3206 to the centralsystem 3202. The network updates 3204 may be provided periodically bythe point of entry/sale 3206 for a timed period of transaction updatesor may be provided at the request of the central system 3202, in whichthe central system 3202 may indicate, via a mobile device, that aspecific point of entry/sale 3206 should send one or more networkupdates 3204.

FIG. 33 is a flow diagram of a process 3300 (Process 0) for a point ofaccess (POA) data delivery system, according to an embodiment. In oneembodiment, the process 3300 includes to access transactions or otherdata on the POA (e.g., a building entry turnstile, a mass transitturnstile, etc.) as shown at block 3302. In one embodiment the point ofaccess (POA) data can be transaction data or metadata regarding thetransactions performed over a period. In one embodiment the operationsof Process 0 are conducted at least in part during the operations shownat block 216 of FIG. 2 .

As shown at block 3304, the process 3300 additionally includes to dividethe accessed data into multiple sections. The number of the multiplesections can be determined to be sufficiently large to limit the size ofeach of the individual sections to be below a determined threshold. Theprocess 3300 can further include to incorporate encrypted POA data intoscan images used for per-user transactions, as shown at block 3308. Forexample, the images generated for use during scan 2 shown in FIGS. 9-10can include one or more of the multiple sections of encrypted POA data.The process 3300 further includes to display the encrypted POAtransaction data along with per-user transaction data (e.g., during scan2) as shown at block 3310. Subsequently, a mobile device can scan thedisplayed images containing the encrypted POA transaction data during asubsequent transaction, as shown at block 3312. As shown at block 3314,once the mobile device reaches a location having wireless dataconnectivity, the mobile device can transmit sections of the POA data tothe central system. Once the mobile device transmits sections of the POAdata to the central system at block 3314, Process 0 can proceeded toProcess P for reconstruction of the POA data, as shown in FIG. 34 .

FIG. 34 is a flow diagram of a process 3400 (Process P) to perform thereconstruction of the POA data, according to an embodiment. In oneembodiment, the process 3400 includes to receive the POA data at thecentral system, as shown at block 3402. The process 3400 additionallyincludes to decrypt each section of the POA data at block 3404, and toassemble the decrypted sections of the POA data at block 3406. Once thePOA data is assembled at block 3406, the process 3400 additionallyincludes to store the data into the central system storage, as shown atblock 3408. The central system storage can be a transaction log, atransaction database, or a device information database storing data ormetadata on the point of access device.

FIG. 35 is an illustration of the distribution of point of access data3500, according to an embodiment. As illustrated, a central system 3502can receive updated transaction data from an information receptacle 3508at a point of access. The information receptacle 3508 can be a variantof the image code enable information receptacle 1008 of FIG. 10 . Asdescribed by Process 0 (3300) and Process P (3400) of FIGS. 34-35 , datafor the point of access (e.g., turnstile, entryway) can be divided intomultiple segments and encrypted. The segmented and encrypted data (DataA-D) can be transmitted to multiple mobile devices 3504A-D duringsubsequent data transactions with the information receptacle 3508. Inone embodiment it may be assumed that if the information receptacle 3508lacks a data connection, the mobile devices 3504A-D are also temporarilyin a location that lacks a data connection (e.g., a wireless dataconnection). However, it may also be assumed that one or more of themobile devices 3504A-D will reach a location in which a wireless dataconnection may be accessed. Though the wireless data connection, theupdated data (Data A-B) from the information receptacle 3508 may betransmitted to the central system 3502. In one embodiment the data fromthe information receptacle may be divided into a large number ofsegments (e.g., significantly larger than the 4 segments illustrated),such that the amount of data transmitted by any one of the individualdevices is beneath a specified threshold. By maintaining the amount ofdata to be transmitted beneath a threshold, the additional datacommunication overhead imposed on any one mobile device can be kept to aminimum to avoid disruption to other communication tasks on the deviceand to avoid negatively impacting any wireless data transmission quotasthat may be present on any of the mobile devices 3504A-D.

Data Image Variation Matrix

A further embodiment provides for a method to enable placement of visualdata elements within an image code in a way that can be overlapped tocreate multiple points of transmission on the screen of a device. Atypical data image on the screen is shown in FIG. 36 , which is a blockdiagram shown an exemplary distribution 3600 of visual elements on adisplay. In one embodiment a point of access or point of sale deviceutilizing a interactive barcode communication can transmit transactionaldata to a scanning device (e.g., a mobile phone, tablet device, etc.)via an image code 3622 displayed on a display 3602. A scanning deviceplaced over an image code 3622 may be required to “see” the entire imagecode 3622 to read all of the data in the image code 3622, as indicatedby the outline 3612 around the image code 3622. However, the scanning ofthe image is highly vulnerable to the image or camera angle beingskewed, resulting in the scanning device not “seeing” the entire image,as represented by offset outline 3614. If the scanning device has anoffset view (via offset outline 3614) it is likely that only part of theimage will be read by the scanning device, along with an excess amountof blank area.

To increase the likelihood of an image scanning device capturing ausable amount of the image during the interactive barcode communicationtransaction, a data image variation matrix can be used that contains aseries of repeating images to account for any horizontal and/or verticalimage variations when scanning an image.

FIG. 37 illustrates a horizontally repeating distribution 3700 of visualelements, according to an embodiment. The illustrated distribution 3700shows an example of how an image can be divided horizontally and set ina series of left-to-right repeating images on a display 3702 of an imagereceptacle in order to account for any horizontal variations in thedisplay of the image code 3722 or the scanner positioning when readingthe image code 3722. Section 1 is the left side of the original image3612 in FIG. 36 . Section 2 is the right side of the image 3612. In FIG.37 , using either one of scan region 3712 or 3714 enables the scanningof region 1 and region 2. Accordingly, even with a horizontal variation,a scanning device can scan a full version of the image and all encodeddata.

FIG. 38 illustrates a vertically repeating distribution 3800 of visualelements, according to an embodiment. The vertically repeatingdistribution 3800 operates in a similar manner as show in in FIG. 37 ,except the illustrated distribution provides for adaptation for anyvertical variation that may be present in the display or scan of animage code 3822 by dividing the sections horizontally and creating anup-to-down series of repeating images on the display 3802 of the imagereceptacle. In FIG. 38 , using either one of scan region 3812 or 3814enables the scanning of region 1 and region 2. Accordingly, even with avertical variation, a scanning device can scan a full version of theimage code 3822 and all encoded data.

FIG. 39 illustrates a repeating distribution matrix 3900 of visualelements, according to an embodiment. In one embodiment, thedistribution matrix 3900 combines the elements of FIG. 37 and FIG. 38 toallow for variation in two dimensions, which can double the amount ofvariation the image and scanner are able to withstand.

Notwithstanding any skew in scanner positioning when imaging the display3902 (e.g., on an image receptacle), or any variation in displaypositioning (e.g., on the display of a mobile device), at least onequadrant of image data 3922 is always within view of a scanning deviceduring the interactive barcode communication transaction. For example,if a mobile device is only able to scan quadrant 3912 or quadrant 3914,a complete series of image data may be transmitted. In one embodiment,incremental data images may be displayed within a larger data image toallow for the increased image variation.

Increasing image segmentation from 16 blocks into 64 blocks can alsoincrease the likelihood of completely transmitted image data. FIG. 40illustrates an additional repeating distribution matrix 4000 of visualelements, according to an embodiment. The repeating distribution matrix4000 includes 64 blocks of segmented image data 4022 for display on adisplay device 4002 of an image receptacle or a mobile device. If themobile device, when scanning image data 4022 displayed on the imagereceptacle, or the image receptacle, when scanning image data 4022displayed on a display of the mobile device, is able to scan any one ofsegment group 4012, group 4014, or group 4016, a sufficient amount ofdata can be transmitted to complete that stage of the image transactionwhen performing interactive barcode communication.

Additional Exemplary Implementations

FIGS. 41-44 illustrate of additional exemplary implementations of theinteractive barcode system described herein. FIG. 41 is an illustrationof a point of entry system that enables image code scanning andrecognition at a distance in a manner analogous to the interactive imagecode communication illustrated with respect to FIGS. 10-11 . FIG. 42 isa flow diagram illustrating an ad hoc interactive image codecommunication method that may be used with the point of entry system ofFIG. 41 . FIG. 43 is an illustration of a display and scanning device,for example, at a roadside bus stop that is configured to performinteractive barcode communication transactions via image watermarking.FIG. 44 is an additional illustration of the interactive barcode systemfor self-authentication, for example, fora bicycle sharing system, whichmay be implemented in a manner similar to the passengerself-authentication system described with respect to FIGS. 23-29 .

As illustrated in FIG. 41 , one embodiment provides for point of entrysystem 4100 including components to perform image code scanning andrecognition at a distance. In such embodiment, an information receptacle4108 can display an image including an image watermark. The imagewatermark can be scanned by a camera of a mobile device 4104 at adistance 4102 of several meters. In one embodiment, the image watermarkcan be unobtrusively embedded within an image, series of images, video,audio, or any noise tolerant signal. An application executing on themobile device 4104 can capture the image displaying the watermark anddecode the embedded information to perform the scan operationsillustrated in FIGS. 9-10 . In one embodiment, the image watermarkscanning and display can be performed using an ad hoc communicationmechanism.

FIG. 42 illustrates a flow diagram of a process 4200 (Process Q) toperform ad hoc image code communication, according to an embodiment. Inone embodiment the process 4200 to perform an ad hoc communicationsession can be performed at least in part by an information receptacle,such as the information receptacle 4108 of FIG. 41 , in communicationwith a mobile device, such as the mobile device 4104 of FIG. 41 . Theinformation receptacle can be associated with a point of entry, such asturnstile for a building or a mass-transit system. The mobile device canbe any mobile device having a camera and a display, such as a smartphoneor tablet device.

The process 4200 can begin when the smartphone displays a first uniquesession key (SK1) as shown at block 4202. SK1 is to identify whichmobile device with which the point of entry intends to interact, asmultiple mobile devices may be present and attempting to communicatewith the information receptacle. The process 4200 can proceed to block4204 in which the information receptacle scans the SK1 at block 4204.The process 4200 proceeds to block 4206 in which the informationdisplays the scanned SK1 during a second stage display. The process 4200can further proceed to block 4208 in which the mobile device scans SK1displayed by the information receptacle. This ad hoc handshake allowsmultiple mobile devices to attempt to communicate with an informationreceptacle, as each mobile device can communicate with the informationreceptacle using a session key generated by the mobile device, enablingthe correct mobile device to proceed with the communication session, forexample, to deduct a transit fee from an account balance associated withthe mobile device (e.g., when the point of entry is for a turnstile fora mass transit system).

In one embodiment, during Scan 2, as shown at block 4210, the process4200 includes for the information receptacle to display a second uniquesession key (SK2). The second unique session key (SK2), in oneembodiment, is the primary security element used during the transaction,and the mobile device scans SK2, as shown at block 4212, and repeats thedisplay of SK2 during Scan 3 to be given access, as shown at block 4214.SK2 is unique to the transaction and the point of entry and is valid fora limited period of time. In such embodiment, SKI is used foridentification purposes, while SK2 is to prevent the use of screen shotsor other manipulation for fraudulent access.

FIG. 43 is an additional illustration of a display and scanning device4300, according to an embodiment. In one embodiment the display andscanning device 4300 may be deployed for example, at a roadside busstop, for use with an interactive image code scanning system. In oneembodiment the display and scanning device 4300 is configured to performinteractive barcode communication transactions via image watermarking.The display and scanning device 4300, in one embodiment includes adisplay element 4302, which can be an LCD display device, and LEDdisplay device, or any other display device suitable for use with imagewatermarking. In one embodiment the display and scanning device 4300additionally includes one or more sensor devices 4304A-B, which may beimage sensors, still cameras, video cameras, or other image capturingdevices configured to capture an image displayed on a mobile electronicdevice during a transaction using the interactive barcode communicationsystem, and variants thereof.

In one embodiment, the display and scanning device 4300 is configuredonly as a display device. For example, where the display and scanningdevice 4300 is positioned in an above-ground location or other locationin which wireless network connectivity is available, the transaction canproceed in a manner similar to passenger self-authentication as inillustrated and described with respect to FIGS. 23-29 . In suchembodiment, the barcode 2306 of FIG. 23 can be information encoded as adigital watermark in an image displayed on the display element 4302, andthe sensor devices 4304A-B may be eliminated, removed, or disabled.

FIG. 44 is an additional illustration of an exemplary implementation ofa system of interactive barcode communication for self-authentication4400. The exemplary system of interactive barcode communication forself-authentication can be used for example, for self-authenticationwith a bicycle sharing system 4404. A display element 4402 can display awatermarked image, for example, of a map of the local region that can beused for self-authentication in a manner similar to the passengerself-authentication illustrated and described with respect to FIGS.23-29 . In this instance, however, a mobile device applicationconfigured for self-authentication can provide a code that may be usedat an individual bicycle docking station. When the correct code isentered after self-authentication, the bicycle click can be configuredto release the bicycle.

Methods, techniques, systems, and computer readable medium describing aninteractive barcode communication system extended to enable passengerself-authentication. Although the present invention has been describedwith reference to specific exemplary embodiments, it will be evidentthat various modifications and changes may be made to these embodimentswithout departing from the broader spirit and scope of the invention asset forth in the claims. Accordingly, the specification and drawings areto be regarded in an illustrative rather than a restrictive sense.

What is claimed is:
 1. A method comprising: causing, via a processor, afirst image code presented on a first display of a smartwatch to becaptured via a first camera of a receptacle of a point of controldevice, wherein the smartwatch includes a second camera, wherein thereceptacle includes a second display, wherein the point of controldevice includes a barrier; generating, via the processor, a second imagecode based on the first image code; causing, via the processor, thesecond image code to be presented on the second display such that thesecond camera reads the second image code; causing, via the processor, athird image code presented on the first display responsive to the secondimage code to be captured via the first camera, wherein the first imagecode, the second image code, and the third image code are different fromeach other in content; and controlling, via the processor, the barrierbased on the third image code, wherein at least one of the first imagecode, the second image code, or the third image code includes awatermark.
 2. The method of claim 1, wherein the receptacle includes anarcuate portion defining an interior space where the smartwatch ispositioned when the first display presents the first image code and thethird image code and when the second display presents the second imagecode.
 3. The method of claim 1, wherein the third image code isgenerated locally on the smartwatch.
 4. The method of claim 1, whereinthe first image code includes account information associated with thesmartwatch.
 5. The method of claim 4, wherein the smartwatch generatesthe first image code based on an encryption code of a plurality ofencryption codes received from a data source along with a set of timeperiod information instructing the smartwatch to use the encryption codeduring a time period of a plurality of time periods, wherein theencryption code is associated with the account information during thetime period, wherein the set of time period information is associatedwith the plurality of time periods.
 6. The method of claim 4, whereinthe second image code is generated responsive to the accountinformation.
 7. The method of claim 1, wherein the first image codeincludes at least one of a unique account number, a time-specific code,or a unique session key.
 8. The method of claim 1, wherein the point ofcontrol device is a point of entry device located at a mass transitstation.
 9. The method of claim 1, wherein the point of control deviceis a bicycle docking station.
 10. A system comprising: a point ofcontrol device including a processor, a first camera, a first display, abarrier, and a receptacle, wherein the receptacle includes the firstcamera and the first display, wherein the processor is programmed to:cause a first image code presented on a second display of a smartwatchto be captured via the first camera, wherein the smartwatch includes asecond camera, generate a second image code based on the first imagecode, cause the second image code to be presented on the first displaysuch that the second camera reads the second image code, cause a thirdimage code presented on the second display responsive to the secondimage code to be captured via the first camera, wherein the first imagecode, the second image code, and the third image code are different fromeach other in content, and control the barrier based on the third imagecode, wherein at least one of the first image code, the second imagecode, or the third image code includes a watermark.
 11. The system ofclaim 10, wherein the receptacle includes an arcuate portion defining aninterior space where the smartwatch is positioned when the first displaypresents the first image code and the third image code and when thesecond display presents the second image code.
 12. The system of claim10, wherein the third image code is generated locally on the smartwatch.13. The system of claim 10, wherein the first image code includesaccount information associated with the smartwatch.
 14. The method ofclaim 13, wherein the smartwatch generates the first image code based onan encryption code of a plurality of encryption codes received from adata source along with a set of time period information instructing thesmartwatch to use the encryption code during a time period of aplurality of time periods, wherein the encryption code is associatedwith the account information during the time period, wherein the set oftime period information is associated with the plurality of timeperiods.
 15. The method of claim 13, wherein the second image code isgenerated responsive to the account information.
 16. The system of claim10, wherein the first image code includes at least one of a uniqueaccount number, a time-specific code, or a unique session key.
 17. Thesystem of claim 10, wherein the point of control device is a point ofentry device located at a mass transit station.
 18. The system of claim10, wherein the point of control device is a bicycle docking station.